package com.esunny.resourcevisualization.dao;

import com.esunny.resourcevisualization.domain.entity.SystemConfig;
import org.apache.ibatis.annotations.Mapper;

/**
 * @version 1.0.0.0
 * @InterfaceName SystemConfig
 * @Description 系统配置信息操作数据库接口
 * @Author baochencong
 * @Date 2020/10/12 16:30
 */
@Mapper
public interface SystemConfigDao {

    /**
     * 添加配置项
     *
     * @param systemConfig 配置项信息
     * @return 添加结果
     */
    boolean addSystemConfig(SystemConfig systemConfig);

    /**
     * 通过配置项键删除配置项
     *
     * @param key 配置项键
     * @return 删除结果
     */
    boolean deleteSystemConfigByKey(String key);

    /**
     * 修改配置项值
     *
     * @param systemConfig 配置项信息
     * @return 修改结果
     */
    boolean updateSystemConfigValue(SystemConfig systemConfig);

    /**
     * 修改配置项描述
     *
     * @param systemConfig 配置项信息
     * @return 修改结果
     */
    boolean updateSystemConfigDescription(SystemConfig systemConfig);

    /**
     * 修改配置项值和描述
     *
     * @param systemConfig 配置项信息
     * @return 修改配置项值和描述结果
     */
    boolean updateSystemConfigValeAndDescription(SystemConfig systemConfig);

    /**
     * 通过配置项键获取配置项
     *
     * @param key 配置项键
     * @return 配置项信息
     */
    SystemConfig getConfigByKey(String key);
}
